package tables;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
import models.Person;
public class ClientsTableModel extends AbstractTableModel {
private String[] columnNames = { "First Name", "Last Name", "ID" };
private ArrayList<Person> clients;
public ClientsTableModel() {
clients = new ArrayList<Person>();
}
public ClientsTableModel(ArrayList<Person> clients) {
this.clients = clients;
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public int getRowCount() {
return clients.size();
}
public String getColumnName(int column) {
return columnNames[column];
}
@Override
public Object getValueAt(int row, int column) {
Person client = getClient(row);
switch (column) {
case 0:
return client.getFirstName();
case 1:
return client.getLastName();
case 2:
return client.getID();
}
return client;
}
public Person getClient(int row) {
return clients.get(row);
}
public void addCustomer(Person client) {
insertClient(getRowCount(), client);
}
public void insertClient(int row, Person client) {
clients.add(row, client);
fireTableRowsInserted(row, row);
}
public void removeClient(int row) {
clients.remove(row);
fireTableRowsDeleted(row, row);
}
}